home *** CD-ROM | disk | FTP | other *** search
-
- /*
- * main.c
- */
-
-
- #include "defs.h"
-
- Prototype struct Window *win;
-
- extern struct Library *SysBase;
-
- struct Window *win = NULL;
-
-
- /*********************** main **********************************/
- const UBYTE version[] = VER; /* be nice to version questions */
- const UBYTE myname[] = "Kpri v2.0 © Koessi 91";
- const UBYTE usagestr[] = "\nUSAGE:"
- "\n Kpri [textfile]\n";
- const UBYTE os20str[] = "RAW:19/11/300/11/ Kpri: You need OS 2.0, sorry...";
-
- int
- main(int argc, UBYTE **argv)
- {
- if (SysBase->lib_Version < 36)
- {
- FH *out;
- if (out = (FH *)Open(os20str, MODE_NEWFILE))
- {
- Delay(150);
- Close(out);
- }
- return(1);
- }
-
- if (argc > 1)
- {
- UBYTE test = *argv[1];
- if ((argc > 2) ||
- (test < 65) || (test > 122) ||
- ((test > 90) && (test < 97)))
- {
- textreq.es_Title = myname;
- textreq.es_TextFormat = usagestr;
- textreq.es_GadgetFormat = resume;
-
- EasyRequestArgs(win, &textreq, NULL, NULL);
- return(1);
- }
- }
-
- struct Screen *scr;
- if (scr = (struct Screen *)LockPubScreen(NULL)) /* get workbenchscreen */
- {
- SHORT LeftEdge = (SHORT)((scr->Width >> 1) - WIN_WIDTH / 2);
- SHORT TopEdge = (SHORT)((scr->Height >> 1) - WIN_HEIGHT / 2);
-
- struct Gadget *glist;
- if (glist = (struct Gadget *)InitGads(scr)) /* setup gadgetlist */
- {
- win = (struct Window *)OpenWindowTags(
- NULL,
- WA_Flags, WFLG_DRAGBAR | WFLG_DEPTHGADGET | WFLG_SMART_REFRESH |
- WFLG_ACTIVATE | WFLG_CLOSEGADGET,
-
- WA_IDCMP, IDCMP_GADGETUP| IDCMP_MOUSEBUTTONS| IDCMP_GADGETDOWN |
- IDCMP_CLOSEWINDOW,
-
- WA_Left, LeftEdge,
- WA_Top, TopEdge,
- WA_Width, WIN_WIDTH,
- WA_Height, WIN_HEIGHT,
- WA_Title, myname,
- WA_MinWidth, 32,
- WA_MinHeight, 32,
- WA_MaxWidth, -1,
- WA_MaxHeight, -1,
- WA_AutoAdjust, 1,
- WA_PubScreen, NULL,
- WA_PubScreenFallBack, 1,
- WA_Gadgets, glist,
- TAG_END);
-
- if (win)
- {
- GT_RefreshWindow(win, NULL);
- DrawImage(win->RPort, &image0, 205, 32); /* logo */
-
- get_date();
-
- if (argc == 2)
- {
- strcpy(Buf_storage_str, argv[1]);
- ask_print(Buf_storage_str);
- }
-
- while (!quit)
- {
- WaitPort(win->UserPort);
-
- struct IntuiMessage *msg;
- while (msg = GT_GetIMsg(win->UserPort))
- {
- ULONG idcmp_class = msg->Class;
- struct Gadget *gad = msg->IAddress;
- USHORT gad_id = gad->GadgetID;
-
- GT_ReplyIMsg(msg);
-
- switch(idcmp_class)
- {
-
- case IDCMP_GADGETUP:
- switch(gad_id)
- {
- case GAD_pagesize:
- toggle(pagesize);
- continue;
-
- case GAD_linelength:
- if (linelength < 2)
- ++linelength;
- else
- linelength = 0;
- continue;
-
- case GAD_split:
- toggle(split);
- continue;
-
- case GAD_title:
- toggle(title);
- continue;
-
- case GAD_automatic:
- toggle(autom);
- if (autom)
- {
- for (SHORT i = 0; i < 2; ++i)
- do_all(i);
- }
- continue;
-
- case GAD_filereq:
- do_filereq();
- continue;
-
- case GAD_storage_list:
- do_storage_list();
- continue;
-
- case GAD_storage_str:
- ask_print(Buf_storage_str);
- continue;
-
- case GAD_print_it:
- do_print_it();
- continue;
-
- case GAD_forget_it:
- do_forget_it();
- continue;
-
- case GAD_quit:
- default:
- } /* switch gad_id */
-
- case IDCMP_CLOSEWINDOW:
- do_quit();
-
- default:
- break;
- } /* switch idcmp_class */
- } /* while msg */
- } /* while !quit */
- cleanup();
- CloseWindow(win);
- } /* if win */
- FreeGads();
- } /* if glist */
- } /* if scr */
- return(0);
- }
-
-